package com.wnxy.controller;

import com.wnxy.bean.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.HashMap;
import java.util.Map;

/**
 * @author yellow Docter
 * @date 2024-06-26
 * @desc 蜗牛创想：www.woniuxy.com
 *
 * @Controller 处理请求的对象
 * @RequestMapping  把请求的url 和 处理请求的方法 进行绑定
 *      把 处理请求的方法 返回的值 转成json  添加注解
 *  可以用在我们的类上面、下面的所有的请求 都需要 写到user
 */
@Controller
@RequestMapping("/user")
public class UserController {

    @ResponseBody
    @RequestMapping("/get")
    public Map<String,Object> handler(){
        Map<String,Object> map = new HashMap<>();
        map.put("id","1");
        map.put("name","jack");
        return map;
    }

    @ResponseBody
    @RequestMapping("/get2")
    public Map<String,Object> handler2(){
        Map<String,Object> map = new HashMap<>();
        map.put("id","2");
        map.put("name","tiger");
        return map;
    }

    /**
     *  springmvc 可以 直接 获取页面传递过来的数据 直接进行参数绑定
     *     请求的url:
     *        http://localhost:8080/user/get3?id=1&name=jackma
     *
     * @param id
     * @param name
     * @return
     */
    @ResponseBody
    @RequestMapping("/get3")
    public Map<String,Object> handler3(int id,String name){
        Map<String,Object> map = new HashMap<>();
        map.put("id",id);
        map.put("name",name);
        return map;
    }

    /**
 *      *  springmvc 可以 直接 获取页面传递过来的数据 直接进行参数绑定
 *      *     请求的url:
 *      *        http://localhost:8080/user/get3?id=1&name=jackma
     *        请求的参数可以直接获取封装到 User对象中
     *                       user的属性和 提交数据的key需要一致
     * @return
     */
    @ResponseBody
    @RequestMapping("/get4")
    public Map<String,Object> handler4(User user){
        Map<String,Object> map = new HashMap<>();
        map.put("id",user.getId());
        map.put("name",user.getName());
        return map;
    }
}
